Insegnamento LABORATORIO OPEN SOURCE

Corso
Programmazione e gestione di sistemi informatici
Codice insegnamento
A003651
Curriculum
Comune a tutti i curricula
Docente
Marina Latini
Docenti
  • Marina Latini
Ore
  • 36 ore - Marina Latini
CFU
3
Regolamento
Coorte 2023
Erogato
2023/24
Attività
Altro
Ambito
Tirocini formativi e di orientamento
Settore
NN
Tipo insegnamento
Obbligatorio (Required)
Tipo attività
Attività formativa monodisciplinare
Lingua insegnamento
Italiano
Contenuti
Il corso di Laboratorio sull'Open Source è progettato per fornire agli studenti una comprensione approfondita dei concetti e delle pratiche legate al mondo dell'open source. Durante il corso, esploreremo i principi fondamentali dell'open source, le sue implicazioni nella tecnologia e nella società, nonché le abilità pratiche necessarie per partecipare attivamente a progetti open source.
Testi di riferimento
Materiale fornito dal docente
Obiettivi formativi
Alla fine di questo corso, gli studenti saranno pronti ad entrare nel mondo dell'open source con una comprensione approfondita dei principi, delle pratiche e delle abilità necessarie per partecipare in modo significativo ai progetti open source, pronti a contribuire e a fare la differenza nella comunità open source.
Prerequisiti
Conoscenza di base di programmazione (preferibilmente in linguaggi come Python, Java o C++) e familiarità con i concetti di base di gestione del codice attraverso piattaforme come Git.
Metodi didattici
Il corso prevede lezioni teoriche, discussioni in classe, esercitazioni pratiche in laboratorio e il coinvolgimento diretto in progetti open source come LibreOffice. Gli studenti avranno l'opportunità di contribuire attivamente al progetto LibreOffice, applicando le competenze acquisite durante il corso.
Altre informazioni
Il docente è disponibile ad erogare lezioni frontali, esercitazioni  e sessioni di esami in lingua Inglese.Il docente è disponibile a sostenere l'esame in lingua Inglese.
Modalità di verifica dell'apprendimento
La verifica avverrà mediante la presentazione di un progetto in modalità scritta e orale.
Programma esteso
Introduzione all'Open Source
Definizione di open source e il suo contesto storico.
Vantaggi e sfide dell'open source.
Analisi delle licenze open source.
Modelli di Sviluppo Open Source
Discussione sui modelli di sviluppo collaborativo, come il modello "bazaar" e il modello "cattedrale".
Ruoli all'interno di un progetto open source: sviluppatori, maintainer, contributor, ecc.
Progetti Open Source Rilevanti
Studio di casi di successo nel mondo dell'open source, come Linux, LibreOffice, Mozilla, ecc.
Impatto sociale ed economico dei progetti open source.
Contribuzione e Collaborazione.
Uso di piattaforme di gestione dei progetti come GitHub e GitLab.
Forking, branching, pull e merge requests.
Risoluzione dei conflitti e revisione del codice con GitHub, GitLab e Gerrit.
Il processo di sviluppo, rilascio e manutenzione del codice.
Piattaforme per creare e distribuire pacchetti binari a partire dai sorgenti in modo automatico, coerente e riproducibile come Open Build Service.
Sviluppo di Competenze Tecniche
Esercizi pratici di segnalazione e analisi dei problemi con Bugzilla and git bisect.
Implementazione di piccole migliorie al codice di LibreOffice per comprendere come effettuare le prime contribuzioni al progetto.
Distribuzione del software tramite .spec file e ricette di compilazione del software.
Localizzazione del software con Weblate.
Comunicazione efficace all'interno delle comunità open source.
Norme di comportamento e rispetto delle linee guida della comunità.
Obiettivi Agenda 2030 per lo sviluppo sostenibile
Questo insegnamento concorre alla realizzazione degli obiettivi ONU dell'Agenda 2030 per lo Sviluppo Sostenibile
Condividi su